home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_87 / cleanhea.pas < prev    next >
Pascal/Delphi Source File  |  1995-01-01  |  2KB  |  64 lines

  1. {****************************************************************************}
  2. {                                                                            }
  3. { MODULE:         CleanHeap                                                  }
  4. {                                                                            }
  5. { DESCRIPTION:    UNIT used to debug uninitialized variables in the Heap     }
  6. {                 and Uninitialized Data Segment. Use with caution.          }
  7. {                                                                            }
  8. { AUTHOR:         Juan Carlos Arévalo                                        }
  9. {                                                                            }
  10. { MODIFICATIONS:  Nobody (yet ;-)                                            }
  11. {                                                                            }
  12. { HISTORY:        27-Jan-1993 Definition, creation and first use.            }
  13. {                                                                            }
  14. { (C) 1993 VangeliSTeam                                                      }
  15. {____________________________________________________________________________}
  16.  
  17. UNIT CleanHeap;
  18.  
  19. INTERFACE
  20.  
  21.  
  22.  
  23.  
  24. TYPE
  25.   TBuff = ARRAY[1..65520] OF BYTE;
  26. VAR
  27.   HPtr  : ^TBuff;
  28.   BSize : WORD;
  29.  
  30.  
  31.  
  32.  
  33. IMPLEMENTATION
  34.  
  35.  
  36.  
  37.  
  38. {
  39. BEGIN
  40.  
  41.   HPtr := HeapPtr;
  42.  
  43.   WHILE HPtr <> HeapEnd DO
  44.     BEGIN
  45.       FillChar(HPtr^, 16, $00);
  46.       HPtr := Ptr(SEG(HPtr^)+1, OFS(HPtr^));
  47.     END;
  48.  
  49.   HPtr  := Ptr(SEG(Test8087), OFS(Test8087) + 1);
  50.  
  51.   BSize := OFS(BSize) - 4 - OFS(Test8087) + 1;
  52.   FillChar(HPtr^, BSize, 0);
  53. }
  54. {
  55.   BSize := OFS(BSize) - 4 - OFS(Test8087) + 1;
  56.   HPtr  := Ptr(SEG(HPtr^), OFS(HPtr^) + BSize - BSize DIV 8
  57.                                               + BSize DIV 32
  58.                                               + BSize DIV 64
  59.                                               + BSize DIV 128);
  60.   FillChar(HPtr^, BSize DIV 2048, 0);
  61. }
  62.  
  63. END.
  64.